package com.ruoyi.oa.domain.vo;

import java.util.Date;

import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import lombok.Data;
import java.util.Date;
import com.ruoyi.workflow.domain.ActBusinessStatus;


/**
 * 付款流程视图对象 oa_finance_payment
 *
 * @author ruoyi
 * @date 2023-05-23
 */
@Data
@ExcelIgnoreUnannotated
public class OaFinancePaymentVo {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
//    @ExcelProperty(value = "主键")
    private String id;

    /**
     * 部门id
     */
//    @ExcelProperty(value = "部门id")
    private Long deptId;

    /**
     * 用户id
     */
//    @ExcelProperty(value = "用户id")
    private Long userId;

    /**
     * 项目名称
     */
    @ExcelProperty(value = "项目名称")
    private String projectName;

    /**
     * 付款附件
     */
    @ExcelProperty(value = "付款附件")
    private String payAttachment;

    /**
     * 付款事由
     */
    @ExcelProperty(value = "付款事由")
    private String payReason;

    /**
     * 付款单位
     */
    @ExcelProperty(value = "付款单位")
    private String payUnit;

    /**
     * 付款金额
     */
    @ExcelProperty(value = "付款金额")
    private String payTotal;

    /**
     * 付款方式
     */
    @ExcelProperty(value = "付款方式", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "pay_way")
    private String payWay;

    /**
     * 付款日期
     */
    @ExcelProperty(value = "付款日期")
    private Date payDate;

    /**
     * 收款人全称
     */
    @ExcelProperty(value = "收款人全称")
    private String payeeName;

    /**
     * 银行账号
     */
    @ExcelProperty(value = "银行账号")
    private String bankAccount;

    /**
     * 开户行
     */
    @ExcelProperty(value = "开户行")
    private String bank;

    /**
     * 发票
     */
    @ExcelProperty(value = "发票")
    private String invoice;

    /**
     * 备注说明
     */
//    @ExcelProperty(value = "备注说明")
    private String remarks;


    private String invoiceType;

    private String payeeCapitalization;


    /**
     * 业务状态实体对象
     */
    private ActBusinessStatus actBusinessStatus;


    /**
 * 创建时间
 */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm",timezone="GMT+8")
    @ExcelProperty(value = "提交日期")
    @ColumnWidth(20)
    private Date createTime;

    @ExcelProperty(value = "提交人")
    private String createBy;

    /**
     * 更新者
     */
    private String updateBy;

    /**
     * 更新时间
     */
    private Date updateTime;

}
